import '../widget/my_dialog.dart';
import 'package:http_manager/http_manager.dart';

import 'app_manager.dart';


class ResultCode {
  static String loading         = "loading"; // 请求中
  static String success         = "0"; // 请求成功
  static String empty_data      = "20002"; // 请求成功,数据为空
  static String no_more_data    = "20003"; // 请求成功,无更多数据
  static String resubmit        = "20008"; // 重复提交
  static String error           = "error"; //
  static String failure         = "400";
  static String abnormal        = "abnormal";
  static String token_null      = "10005";
  static String uuid_null       = "10302";
}


extension ResponseAnalyzedExtention on ResponseAnalyzed {
  bool get success    => code == '0';
  bool get failure    => code != '400';

  bool get empty      => code == '202';
  bool get noMoreData => code == '203';


  // 检查解析结果，进行统一处理不同状态下的结果码
  static ResponseAnalyzed checkeAnalyzing(ResponseAnalyzed result) {
    // if (result.code == "0" && result.message == "ok") {
    //   result.message = "";
    //   // showMessage(result.message!);
    // }

    if (!result.success) {
      showMessage(result.message ?? "未知错误");
    }
    
    if (result.code == "404") {
      // return ResponseAnalyzed(
      //   code: "200",
      //   data: "登录不需要 userToken ，已设置测试代码的 userToken",
      //   message: "登录不需要 userToken ，已设置测试代码的 userToken"
      // );
      // showMessage(result.message!);
    }else if (result.code == "401") {
      AppManager.signOut();
    }else if (result.code == "1") {
      showMessage(result.message!);
    }

    // if (code == 20002 || code == 20003 || code == 27106 || (code == 29999 && result.message == "无更多数据")) {
    //   result.message = "";
    // } else if (code > 20000 && code < 30000) {
    //   debugPrint('code: $code, message: ${result.message!}');
    //   result.isExposedToUser = true;
    //   showMessage(result.message!);
    //   debugPrint("result.message! = ${result.message!}");
    // } else if (code >= 10000 && code <= 19999) {
    //   // 上传错误日志
    //   Map par = {
    //     "code": result.code,
    //     "message": result.message,
    //     "data": result.data
    //   };
    //   showFailureMessage("$code 系统发生错误，请联系管理员");
    //   // _uploadErrorLogWithResponse(convert.jsonEncode(par));
    // } else if (code == 1000) {
    //   result = ResponseAnalyzed(code: "error", data: "", message: result.message);
    //   showMessage(result.message!);
    // }
    if (result.code == "500") {
      showMessage(result.message!);
    }
    return result;
  }

}